using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("EmoteOption")]
	public class EmoteOption : MonoBehaviour
	{
		public EmoteType m_EmoteType => method_2<EmoteType>("m_EmoteType");

		public string m_StringTag => method_4("m_StringTag");

		public EmoteType m_FallbackEmoteType => method_2<EmoteType>("m_FallbackEmoteType");

		public string m_FallbackStringTag => method_4("m_FallbackStringTag");

		public MeshRenderer m_Backplate => method_3<MeshRenderer>("m_Backplate");

		public UberText m_Text => method_3<UberText>("m_Text");

		public string m_SpeechBubbleSpellPath => method_4("m_SpeechBubbleSpellPath");

		public bool m_RenderSpellOnSpeechBubbleLayer => method_2<bool>("m_RenderSpellOnSpeechBubbleLayer");

		public EmoteType m_currentEmoteType => method_2<EmoteType>("m_currentEmoteType");

		public string m_currentStringTag => method_4("m_currentStringTag");

		public Vector3 m_startingScale => method_2<Vector3>("m_startingScale");

		public bool m_textIsGrey => method_2<bool>("m_textIsGrey");

		public Spell m_speechBubbleSpell => method_3<Spell>("m_speechBubbleSpell");

		public EmoteOption(IntPtr address, string className)
			: base(address, className)
		{
		}

		public EmoteOption(IntPtr address)
			: this(address, "EmoteOption")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void DoClick()
		{
			method_8("DoClick");
		}

		public void Enable()
		{
			method_8("Enable");
		}

		public void Disable()
		{
			method_8("Disable");
		}

		public void HandleMouseOut()
		{
			method_8("HandleMouseOut");
		}

		public void HandleMouseOver()
		{
			method_8("HandleMouseOver");
		}

		public void UpdateEmoteType()
		{
			method_8("UpdateEmoteType");
		}

		public bool ShouldPlayerUseEmoteOverride(Player player)
		{
			return method_11<bool>("ShouldPlayerUseEmoteOverride", new object[1] { player });
		}

		public bool CanPlayerUseEmoteType(Player player)
		{
			return method_11<bool>("CanPlayerUseEmoteType", new object[1] { player });
		}

		public bool HasEmoteTypeForPlayer(EmoteType emoteType, Player player)
		{
			return method_11<bool>("HasEmoteTypeForPlayer", new object[2] { emoteType, player });
		}

		public bool ShouldUseFallbackEmote(Player player)
		{
			return method_11<bool>("ShouldUseFallbackEmote", new object[1] { player });
		}

		public void FinishDisable()
		{
			method_8("FinishDisable");
		}
	}
}
